<!-- saved from url=(0022)http://internet.e-mail -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><!-- saved from url=(0022)http://internet.e-mail -->

  <meta content="text/html; charset=windows-1252" http-equiv="CONTENT-TYPE"><title>Oracle XML Developers Kit</title>
  
  <meta content="OpenOffice.org 1.1.0  (Win32)" name="GENERATOR">
  <meta content="20041210;15044434" name="CREATED">
  <meta content="20041210;16111573" name="CHANGED"><!-- saved from url=(0022)http://internet.e-mail --></head>

<body bgcolor="#ffffff" dir="ltr" lang="en-US">
<h1><font color="#000088">Oracle XML Developers Kit</font></h1>
<h3>Release Notes for Version 10g Release 2 (10.2.0.2.0) Production<br>
</h3>
<p>March 31, 2006 </p>
<hr>
<p><b><u><font size="4">Contents</font></u></b> </p>
<p style="margin-bottom: 0in;"><a href="#Overview">1 Overview</a> <br>
<a href="#Java%20XDK">2
XDK Java Components</a> <br>
<a href="#C%20XDK">3 XDK C/C++ Components</a>
<br>
<a href="#Compatibilty">4 Compatibility</a> <br>
<a href="#Known%20Bugs">5
Known Bugs</a>
</p>
<hr>
<p><a name="Overview"></a><b><u><font size="4">1 Overview</font></u></b>
</p>
<p>Oracle XML Developer's Kit (Oracle XDK) is a set of components,
tools and utilities that eases the task of building and deploying
XML-enabled applications. To provide a broad variety of deployment
options, the Oracle XDK components are available for Java, C, and
C++. Unlike many shareware and trial XML components, the production
Oracle XDK are fully supported and come with a commercial
redistribution license. Oracle XDK consists of the following
components: </p>
<ul>
  <li>
    <p style="margin-bottom: 0in;">XML Parsers: supporting Java, C, and
C++, the components create and parse XML using industry standard DOM
and SAX interfaces. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">XSLT Processor: transforms or
renders XML into other text-based formats such as HTML. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">XSLT VM: high performance XSLT
transformation engine in C. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">XML Schema Processor: schema
validation in Java, C, and C++, allows use of XML simple and complex
datatypes. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">XML Class Generator: automatically
generates C++ classes from DTDs and XML Schemas to send XML data from
Web forms or applications. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">XML JAXB Class Generator:
automatically generates Java classes from XML Schemas to send XML data
from Web forms or applications. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">XML Java Beans: visually transform,
diff and compress XML documents via Java components. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">XML SQL Utility: generates XML
documents, DTDs and Schemas from SQL queries in Java. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">XSQL Servlet: combines XML, SQL, and
XSLT in the server to deliver dynamic web content. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">XML Pipeline processor: specifies
Java processes to be executed in a declarative manner. </p>
  </li>
  <li>
    <p>TransX Utility: makes it easier to load translated seed data and
messages into the database. </p>
  </li>
</ul>
<p style="margin-bottom: 0in;">Please post any questions, comments, or
bug reports to the XML Forum on the Oracle Technology Network at
<a href="http://otn.oracle.com/tech/xml/xdkhome.html">http://otn.oracle.com/tech/xml/xdkhome.html</a>.&nbsp;
</p>
<hr>
<p><a name="Java XDK"></a><b><u><font size="4">2 XDK Java Components</font></u></b>
</p>
<p>Oracle XDK Java components are built on W3C Recommendations and
Java JSR standards. The list of currently supported standards are: </p>
<ul>
  <li>
    <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/REC-xml">XML 1.0 (Second Edition)</a> </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">DOM Level 2.0 Specifications </p>
    <ul>
      <li>
        <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/DOM-Level-2-Core">DOM Level 2.0 Core</a> </p>
      </li>
      <li>
        <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/DOM-Level-2-Traversal-Range">DOM Level 2.0
Traversal and Range</a> </p>
      </li>
      <li>
        <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/DOM-Level-2-Events">DOM Level 2.0 Events</a>
        </p>
      </li>
    </ul>
  </li>
  <li>
    <p style="margin-bottom: 0in;">DOM Level 3.0 Specifications </p>
    <ul>
      <li>
        <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107/">DOM Level
3.0 Load and Save</a>(Candidate Recommendation) </p>
      </li>
      <li>
        <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/2003/CR-DOM-Level-3-Val-20030730/">DOM
Level 3.0 Validation</a></p>
      </li>
    </ul>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><a href="http://www.saxproject.org/">SAX
2.0 &amp; SAX Extensions</a> </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">XSLT/XPath Specifications </p>
    <ul>
      <li>
        <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/xslt">XSL Transformations (XSLT) 1.0</a> </p>
      </li>
      <li>
        <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/xpath">XML Path Language (XPath) 1.0</a> </p>
      </li>
    </ul>
  </li>
  <li>
    <p style="margin-bottom: 0in;">XSLT/XPath 2.0 Specifications </p>
    <ul>
      <li>
        <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/2004/WD-xslt20-20041105/">XSL
Transformations (XSLT) 2.0</a>(working draft dated 04 April 2005) </p>
      </li>
      <li>
        <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/2005/WD-xpath20-20050404">XML Path Language
(XPath) 2.0</a>(working draft dated 04 April 2005) </p>
      </li>
      <li>
        <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/2005/WD-xpath-datamodel-20050404/">XPath
2.0 Data Model</a>(working draft dated 04 April 2005) </p>
      </li>
      <li>
        <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/2005/WD-xpath-functions-20050404/">XQuery
1.0 and XPath 2.0 Functions and Operators</a>(working draft dated 04
April 2005) </p>
      </li>
    </ul>
  </li>
  <li>
    <p style="margin-bottom: 0in;">XML Schema Specifications </p>
    <ul>
      <li>
        <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/xmlschema-0/">XML Schema Part 0: Primer</a>
        </p>
      </li>
      <li>
        <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/xmlschema-1/">XML Schema Part 1: Structures</a>
        </p>
      </li>
      <li>
        <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Part 2: Datatypes</a>
        </p>
      </li>
    </ul>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/2002/NOTE-xml-pipeline-20020228/">XML
Pipeline Definition Language 1.0</a> </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><a href="http://java.sun.com/xml/jaxp/index.html">Java API for XML
Processing 1.2</a> </p>
  </li>
  <li>
    <p><a href="http://java.sun.com/xml/jaxb/index.html">Java
Architecture for XML Binding 1.0</a> </p>
  </li>
</ul>
<p><br>
<b><u>2.1 DOM Specifications</u></b> </p>
<p>The DOM APIs include support for Candidate Recommendations of DOM
Level 3 Validation and DOM Level 3 Load and Save. </p>
<p><b>Load and Save</b> </p>
<p>The following configuration parameters are not supported by
LSParser: </p>
<ul>
  <li>
    <p>"charset-overrides-xml-encoding" </p>
  </li>
</ul>
<p>Optional settings of the following configuration parameters are
not supported by LSParser: </p>
<ul>
  <li>
    <p style="margin-bottom: 0in;">"disallow-doctype (true)" </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">"ignore-unknown-character-denormalizations
(false)" </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">"namespaces (false)" </p>
  </li>
  <li>
    <p>"supported-media-types-only (true)" </p>
  </li>
</ul>
<p>The following configuration parameters are not supported by
LSSerializer: </p>
<ul>
  <li>
    <p>"discard-default-content" </p>
  </li>
</ul>
<p>Optional settings of the following configuration parameters are
not supported by LSSerializer: </p>
<ul>
  <li>
    <p style="margin-bottom: 0in;">"canonical-form (true)" </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">"format-pretty-print (true)" </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">"ignore-unknown-character-denormalizations
(false)" </p>
  </li>
  <li>
    <p>"normalize-characters (true)" </p>
  </li>
</ul>
<p><b>Validation</b> </p>
<p>Some DOM 3 Core functions referred by Validation are implemented,
but Core itself is not supported. </p>
<ul>
  <li>
    <p style="margin-bottom: 0in;">&nbsp;&nbsp;&nbsp;&nbsp; NameList
and DOMStringList in DOM core are supported for validation purpose </p>
  </li>
  <li>
    <p>&nbsp;&nbsp;&nbsp;&nbsp; Validation is based on XMLSchema, DTD
needs to be converted to Schema first (use DTDToSchema utility) </p>
  </li>
</ul>
<p><b><u>2.2 XSL Transformation</u></b> </p>
<p>The XSLT processor adds support for the current working drafts of
XSLT 2.0, XPath 2.0 and the shared XPath/XQuery data model. </p>
<p>Some features of these specifications are not supported in the
current release: </p>
<ul>
  <li>
    <p style="margin-bottom: 0in;">The <i>Schema Import</i> and <i>Static
Typing</i> features are not supported, but we do support XML Schema
built-in types specified by the XPath 2.0 Datamodel.</p>
  </li>
  <li>The schema-element and schema-attribute nodetests are not
supported</li>
  <li>
    <p style="margin-bottom: 0in;">The XSLT instruction <i>xsl:number</i>
uses XSLT 1.0 semantics and syntax. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">The use-when <i>standard attribute</i>
is not supported.<br>
    </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">The processor does not honor the
attribute of required on xsl:param. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">Tunnel parameters are not supported.
    </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">Regular expression instructions are
not
supported in XSLT.</p>
  </li>
</ul>
<ul>
  <li>The XPath 2.0 functions fn:tokenize, fn:matches and fn:replace
are not supported</li>
</ul>
<ul>
  <li>format-dateTime, format-date, and format-time functions are not
supported.<br>
  </li>
  <li>
    <p>The content model for <i>xsl:attribute</i>, <i>xsl:comment</i>,
    <i>xsl:message</i> and the way to compute key values of <i>xsl:key</i>
and <i>xsl:sort</i> are still 1.0 behavior.</p>
  </li>
</ul>
<ul>
  <li>does not support attribute [xsl:]inherit-namespaces for xsl:copy,
xsl:element, and literal result elements.<br>
  </li>
</ul>
<p><br>
<b><u>2.3 JAXB Class Generator</u></b> </p>
<p>The XML Data Binding is built upon JSR-31 "The Java
Architecture for XML Binding (JAXB) Final, V1.0 January 8th, 2003".
This component allows creations of Java classes based on the XML
Schema. The XDK 9i Class Generator has been deprecated; however, the
XDK 9i Class Generator runtime is included and will be supported for
the duration of XDK v10 release. </p>
<p>The JAXB 1.0 specification does not require full W3C XML Schema
support. Please refer to Appendix E.2 for full details. The current
release doesn't support the following: </p>
<ul>
  <li>
    <p style="margin-bottom: 0in;">The Javadoc generation is not
supported.</p>
  </li>
</ul>
<p>The following new features are added:</p>
<ul>
  <li>
    <p style="margin-bottom: 0in;">The Customization features</p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">The "List" and "Union" features of
XML Schema</p>
  </li>
  <li>
    <p>Generation of TypeSafe Enum class to map the simpleType mapping
with enumeration. </p>
  </li>
</ul>
<p><span style="font-weight: bold;"><br>
Encoding of
Schema-Derived Java Files</span><br>
</p>
<ul>
</ul>
<p>According to the Java Language Specification, Java programs
are written using the Unicode character set.&nbsp; Specifically,
comments, identifiers, and the contents of character and string
literals in a Java program can be formed with Unicode characters.&nbsp;
Unless all input characters in Java program can be expressed in ASCII
characters (i.e., non-ASCII characters are translated into Unicode
escapes), JAXB-generated Java files needs to be saved in a specific
encoding.&nbsp; For this release, we choose UTF-8 as the encoding of
all JAXB-generated Java files.&nbsp; If this encoding is different from
platform default converter, then the option "encoding" needs to be
specified to
tell javac or the Java programming language compiler which encoding is
used for source
files.<br>
</p>
<p><b><u>2.4 XML Java Beans</u></b> </p>
<p>The following new beans are added in the release: <br>
&nbsp; </p>
<ul>
  <li>
    <p style="margin-bottom: 0in;">&nbsp;&nbsp;&nbsp;&nbsp;
XSDValidator - encapsulates oracle.xml.parser.schema.XSDValidator class
and adds capabilities for validating a DOM tree. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">&nbsp;&nbsp;&nbsp;&nbsp; XMLCompress
- encapsulates XML compression functionality. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">&nbsp;&nbsp;&nbsp;&nbsp; XMLDBAccess
- extension of DBAccess bean to support the XMLType column (in which
XML documents are stored in an Oracle database </p>
  </li>
  <li>
    <p>&nbsp;&nbsp;&nbsp;&nbsp; table). </p>
  </li>
</ul>
<p><br>
The following beans have been deprecated in this release.&nbsp;
These beans are no longer part of xmlcomp.jar.&nbsp; They are
archived in xmldemo.jar. </p>
<ul>
  <li>
    <p style="margin-bottom: 0in;">&nbsp;&nbsp;&nbsp;&nbsp;
XMLSourceView </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">&nbsp;&nbsp;&nbsp;&nbsp; XMLTreeView
    </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">&nbsp;&nbsp;&nbsp;&nbsp;
XMLTransViewer </p>
  </li>
  <li>
    <p>&nbsp;&nbsp;&nbsp;&nbsp; DBViewer </p>
  </li>
</ul>
<p>The oracle.xml.transviewer.DBAccess bean has been deprecated,
please use oracle.xml.dbaccess.DBAccess instead. <br>
&nbsp; </p>
<p><b><u>2.5 XML Pipeline Processor</u></b> </p>
<p>Oracle XML Pipeline Processor is built upon the XML Pipeline
Definition Language Version 1.0, W3C&nbsp; Note 28 February 2002. The
processor can take an input xml pipeline document and executes the
pipeline processes according to the derived dependencies. The
pipeline document is an xml document, and specifies the processes to
be executed in a declarative manner. In addition to the Pipeline
Processor, we have defined several Pipeline Processes which can be
piped together in a pipeline document. </p>
<p>There are some differences between the W3C Note and this
implementation. They are: </p>
<ul>
  <li>
    <p style="margin-bottom: 0in;">The parser processes
(DOMParserProcess and SAXParserProcess) are included in the xml
pipeline (Section 1). </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">Currently XML Base is not supported
(Section 2.1) </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">Only the final target output is
checked to see if it is up-to-date with respect to the available
pipeline inputs.&nbsp; We do not determine whether the intermediate
outputs of every process are up-to-date.&nbsp; (Section 2.2). </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">For the select attribute, anything
in between double-quotes "" is considered to be a string literal. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">The processor will throw an error if
more that one process produces the same infoset (Section 2.4.2.3) </p>
  </li>
  <li>
    <p>The 'document' element is not supported as it is deemed to be
redundant functionality (Section 2.4.2.8) </p>
  </li>
</ul>
<p><br>
<b><u>2.6 XSQL Servlet</u></b> </p>
<p>Oracle XSQL servlet combines the power of SQL, XML, and XSLT in
the server to deliver dynamic web content. With XSQL servlet you can:
</p>
<ul>
  <li>
    <p style="margin-bottom: 0in;">Receive web-based information
requests from any client device on the Web, </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">Query an appropriate logical "view"
of business data needed by the request, </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">Return the "datagram" in XML over
the web to the requester, or optionally </p>
  </li>
  <li>
    <p>Transform the information flexibly into any XML, HTML, or text
format they require </p>
  </li>
</ul>
<p>The XSQL servlet processor has the following new features: </p>
<ul>
  <li>
    <p style="margin-bottom: 0in;"><u><i>Support for Multi-Valued
Parameters</i></u>: This allows users to work with parameters whose
values are <i>arrays</i> of strings. The most common scenario where
multi-valued parameters occur is when a user submits an HTML form
containing multiple occurrences of input controls that share the same
name. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><u><i>Conditionally Execute Actions
or Include Content with xsql:if-param</i></u>: The
new&nbsp;&lt;xsql:if-param&gt;&nbsp;action allows you to conditionally
include the elements and/or actions that are nested inside it if some
condition is true. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><u><i>New Commit="No" Flag on
Actions That Performed an Implicit Commit</i></u>:
The&nbsp;&lt;xsql:delete-request,&nbsp;xsql:insert-request&gt;,
xsql:insert-request, and&nbsp;&lt;xsql:insert-parameter&gt; action
elements each takes a new optional commit attribute to control whether
the action does an implicit commit or not. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><u><i>Optionally Set an Error Param
on Any Built-in Action</i></u>: It is often convenient to know whether
an action encountered a non-fatal error during its execution. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><u><i>Use Your Servlet Container's
DataSource Implementation</i></u>: As an <i>alternative</i> to
defining your named connections in the XSQLConfig.xml file, you may now
alternatively use the datasources available through your servlet
container's implementation of JDBC datasources. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><u><i>Provide Custom
XSQLErrorHandler Implementation</i></u>: A new interface is introduced
in this release oracle.xml.xsql.XSQLErrorHandler that allows developers
to achieve a programmatic way to control how errors are reported to be
able to customize the treatment of the errors. <br>
The error code returned by XSQLError.getErrorCode() has changed to
25NNN instead of NNN. The error code format also has changed to
XML-25NNN. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><u><i>Provide Custom XSQLLogger
Implementation</i></u>: Two new interfaces are introduced in this
release oracle.xml.xsql.XSQLLoggerFactory and
oracle.xml.xsql.XSQLLogger that allow developers to achieve to log XSQL
page requests. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><u><i>Override the Default Name of
of the XSQLConfig.xml file</i></u>: Customers have requested a way to
override the default XSQLConfig.xml file name so that they can easily
provide different configuration files for test and production
environments, for example. This releases introduces two ways to
override the name. </p>
    <ul>
      <li>
        <p style="margin-bottom: 0in;">By setting the Java System
property xsql.config </p>
      </li>
      <li>
        <p style="margin-bottom: 0in;">By defining a servlet
initialization parameter xsql.config </p>
      </li>
    </ul>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><u><i>Support for Apache FOP 0.20.3</i></u>:
If you need to render PDF output from XSQL pages, this release supports
working with the 0.20.3 release candidate of Apache FOP. </p>
  </li>
  <li>
    <p><u><i>Set Preserve Whitespace Config Option</i></u>: It is now
possible to control whether or not the XSQL Page Processor uses the
Oracle XML Parser to parse XSQL page templates and XSLT stylesheets
with whitespace preserving mode. </p>
  </li>
</ul>
<p><br>
<b><u>2.7 Oracle TransX Utility</u></b> </p>
<p>TransX is a data transfer utility that allows you to populate your
database with multilingual data. It uses XML to specify the data so
you can take advantage of easy data transfer from XML to the
database, a simple data format that is intuitive for both developers
and translators, and validation capability that makes it less error
prone. </p>
<p><a name="XSU"></a><br>
<b><u>2.8 Oracle XML SQL Utility</u></b> </p>
<p>XML-SQL Utility (XSU) is utility can transform data retrieved from
object-relational database tables or views into XML and insert the
data in XML into the appropriate columns/attributes of a table or a
view based on a canonical mapping. </p>
<hr>
<p><a name="C XDK"></a><b><u><font size="4">3 XDK C/C++ Components</font></u></b>
</p>
<p>Oracle XDK C/C++ components are built on W3C Recommendations. The
list of currently supported standards are: </p>
<ul>
  <li>
    <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/REC-xml">XML 1.0 (Second Edition)</a> </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/REC-xml-names">Namespaces in XML</a> </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">DOM Level 2.0 Specifications </p>
    <ul>
      <li>
        <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/DOM-Level-2-Core">DOM Level 2.0 Core</a> </p>
      </li>
      <li>
        <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/DOM-Level-2-Traversal-Range">DOM Level 2.0
Traversal and Range</a> </p>
      </li>
    </ul>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><a href="http://www.saxproject.org/">SAX
2.0 &amp; SAX Extensions</a> </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">XSLT/XPath Specifications </p>
    <ul>
      <li>
        <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/xslt">XSL Transformations (XSLT) 1.0</a> </p>
      </li>
      <li>
        <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/xpath">XML Path Language (XPath) 1.0</a> </p>
      </li>
    </ul>
  </li>
  <li>
    <p style="margin-bottom: 0in;">XML Schema Specifications </p>
    <ul>
      <li>
        <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/xmlschema-0/">XML Schema Part 0: Primer</a>
        </p>
      </li>
      <li>
        <p style="margin-bottom: 0in;"><a href="http://www.w3.org/TR/xmlschema-1/">XML Schema Part 1: Structures</a>
        </p>
      </li>
      <li>
        <p><a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Part
2: Datatypes</a> </p>
      </li>
    </ul>
  </li>
</ul>
<p><br>
<b><u>3.1 XSLT Virtual Machine</u></b> </p>
<p>The XSLTVM Package implements the XSL Transformation (XSLT)
language as specified in W3C Recommendation 16 November 1999. XSLT
Virtual Machine is the software implementation of a "CPU"
designed to run compiled XSLT code. A concept of virtual machine
assumes a compiler compiling XSLT stylesheets to a sequence of byte
codes or machine instructions for the "XSLT CPU". The
byte-code program is a platform independent sequence of 2-byte units.
It can be stored, cashed and run on different XSLTVM. The XSLTVM uses
the bytecode programs to transform instance XML documents. This
approach clearly separates compile(design)-time from run-time
computations and specifies a uniform way of exchanging data between
instructions. The package includes two interfaces: </p>
<ul>
  <li>
    <p style="margin-bottom: 0in;">XSLTVM Compiler Interface </p>
  </li>
  <li>
    <p>XSLTVM Interface </p>
  </li>
</ul>
<p>A typical scenario of using the package APIs has the following
steps: </p>
<ol>
  <li>
    <p style="margin-bottom: 0in;">Create/Use an XML meta context
object. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">Create/Use an XSLT Compiler object. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">Compile an XSLT stylesheet and
store/cash the result bytecode. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">Optional. Repeat steps 1 - 2 for all
stylesheets. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">Delete (or preserve for later usage)
the Compiler object. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">Create/Use an XSLTVM object. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">Set a stylesheet bytecode to the
XSLTVM object. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">Transform an instance XML document. </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">Optional. Repeat step 6 or 5 - 6 as
many times as needed. </p>
  </li>
  <li>
    <p>Delete (or preserve for later usage) the XSLTVM object. </p>
  </li>
</ol>
<p><br>
<b><u>3.2 XML Schema Validator</u></b> </p>
<p style="margin-bottom: 0in;">The processor fully supports the
functionality stated in the specification plus "XML Schema 1.0
Specification Errata" as published on: <br>
&nbsp;
http://www.w3.org/2001/05/xmlschema-errata. </p>
<hr>
<p><a name="Compatibilty"></a><b><u><font size="4">4 Compatibility</font></u></b>
</p>
<p>This section contains recommendations on upgrading to this
release. </p>
<p><b><u>4.1 XDK Java components upgrade<br>
</u></b></p>
<p><b><u><span style="text-decoration: underline;"></span></u></b>For
10G R1 compatible behavior please set the system property
oracle.xdkjava.compatibility.version=10.1.0.&nbsp; By default the
behavior is 10G R2 compatible. <br>
In general all specification related changes between 10G R1 and 10GR2
which cause a difference in behavior can be controlled using the
compatibility flag.<br>
<b><u></u></b> </p>
<p><span style="text-decoration: underline;">&nbsp;XPath 2.0 -
Differences between 10G R1 and 10G R2</span><br>
</p>
<p>1. RangeExpr, behavior for (m to n), where m &gt; n changed.&nbsp;
Earlier we treated it as (n to m), reverse sequence. As per Apr 2005
draft we return an empty sequence.<br>
</p>
<p>2. isnot operator was removed as per the Apr 2005 draft. <br>
</p>
<p>3. getEffectiveBooleanValue definition (fn:boolean) updated &nbsp;as
per the April 2005 draft. Empty string value will result in exception
(FORG006) instead of returning false. &nbsp;All cases not handled by
getEffectiveBooleanValue
will&nbsp;result&nbsp;in&nbsp;an&nbsp;exception (FORG006). &nbsp;XPath
1.0 behavior for fn:boolean will remain the same.<br>
</p>
<p><span style="text-decoration: underline;">XSLT 2.0 -
Differences between 10G R1 and 10G R2<br>
</span></p>
<p>1. normalize-unicode has been changed to normalization-form, the
allowed attribute values have been changed from "yes" | "no" to "NFC" |
"NFD" | "NKFC" | "NKFD" |  As per Nov. 2004 draft.<span style="text-decoration: underline;"><br>
</span></p>

<p><br><b><u>4.2 XDK C/C++ components upgrade</u></b>

</p><ul>
<li>
Previously, the NLS data environment variable setting was ORA_NLS33; it
has now been changed to ORA_NLS10.</li>

<li>
There is now only one library and DLL for the C/C++ XDK. This is libxml10.a
for Unix platforms and oraxml10.lib and oraxml10.dll for Windows platforms.</li>

<li>
A new C API is provided in xml.h and a new C++ API is provided in xml.hpp.
This replaces the old C API in oraxml.h and the old C++ API in oraxml.hpp;
note that those interfaces are deprecated.</li>
</ul>

<p><br><b><u>4.3 New C++ API and Old C++ API</u></b>

</p><p class="MsoNormal"><span style="font-family: Arial; color: black;">This release
includes new C++ API (see xml.hpp and xmlctx.hpp). The primary difference
of new API is an introduction of interfaces to various XDK tools. These
interfaces will replace old C++ API in future releases. The mapping of
old C++ classes into new C++ interfaces is as follows:<o:p></o:p></span>

</p><p class="MsoNormal"><span style="font-family: Arial; color: black;"><!--[if !supportEmptyParas]--><!--[endif]--><o:p></o:p></span>

</p><p class="MsoNormal"><span style="font-family: Arial; color: black;">Class
XMLParser<span style=""></span>-&gt;<span style=""></span>DOMParser
and SAXParser interfaces (abstract classes)<o:p></o:p></span>

</p><p class="MsoNormal"><span style="font-family: Arial; color: black;">DOM classes
(Node, etc.)<span style=""></span>-&gt;<span style=""></span>References
to DOM nodes (NodeRef, AttrRef, etc.)<o:p></o:p></span>

</p><p class="MsoNormal"><span style="font-family: Arial; color: black;">Class
XSLProcessor<span style=""></span><span style=""></span>-&gt;<span style=""></span>Interfaces
(abstract classes)<span style=""></span>Xsl::Transformer,
Xsl::CompTransformer, Xsl::Compiler<o:p></o:p></span>

</p><p class="MsoNormal"><span style="font-family: Arial; color: black;">Class
XPath<span style=""></span>-&gt;<span style=""></span>Interfaces
(abstract classes) XPath::Processor, XPath::CompProcessor, XPath::Compiler<o:p></o:p></span>

</p><p class="MsoNormal"><span style="font-family: Arial; color: black;">Class
XMLSchema<span style=""></span><span style=""></span>-&gt;<span style=""></span>Interface
(abstract class) SchemaValidator<o:p></o:p></span>
<br>
</p></p>
<hr>
<p><a name="Known Bugs"></a><b><u><font size="4">5. Known Bugs</font></u></b>
</p>
<ul>
  <li>
    <p style="margin-bottom: 0in;">Links to DOM Level 3.0 Validation
specification in all classes of org.w3c.dom.validation package are
incorrect. The correct link should be to the candidate recommendation
at <a href="http://www.w3.org/TR/2003/CR-DOM-Level-3-Val-20030730">http://www.w3.org/TR/2003/CR-DOM-Level-3-Val-20030730</a>
    </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">The following APIs in
org.w3c.dom.validation package are incorrectly documented: </p>
    <ul>
      <li>
        <p style="margin-bottom: 0in;">DocumentEditVal.getContinuousValidityChecking()
returns boolean instead of short. </p>
      </li>
      <li>
        <p style="margin-bottom: 0in;">DocumentEditVal.setContinuousValidityChecking()
accepts boolean instead of short. </p>
      </li>
      <li>
        <p>ElementEditVal.getAllowedFirstChildElements() is renamed to
getAllowedFirstChildren(). </p>
      </li>
    </ul>
  </li>
</ul>
<p>Please see specific sections for additional known issues. </p>
</body></html>
